package com.moliku.insurance.model.dto.eastSea.submit;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.math.BigDecimal;

/**
 * @author 七分
 * @version 1.0
 * @date 2021/3/16 11:56
 * @effect 东海投保 保单基本信息
 */
@Data
public class ESOrderDTO implements Serializable {

    @ApiModelProperty(value = "交易流水号（合作伙伴生成的订单唯一id，用来防止重复添加订单）")
    @NotBlank(message = "交易流水号不能为空")
    private String serialNumber;

    @ApiModelProperty(value = "产品编码")
    @NotBlank(message = "险别编码")
    private String kindCode;

    @ApiModelProperty(value = "产品名称")
    @NotBlank(message = "险别名称不能为空")
    private String kindName;

    @ApiModelProperty(value = "保费不能为空")
    @NotBlank(message = "保费不能为空")
    private BigDecimal premium;

    @ApiModelProperty(value = "用户名")
    private String userName;

    @ApiModelProperty(value = "密码")
    private String password;


    @ApiModelProperty(value = "一级渠道编码")
    @NotNull(message = "一级渠道不能为空")
    private String channel1Code;

    @ApiModelProperty(value = "一级渠道名称", hidden = true)
    private String channel1Name;

    @ApiModelProperty(value = "二级渠道编码")
    private String channel2Code;

    @ApiModelProperty(value = "二级渠道名称", hidden = true)
    private String channel2Name;

    @ApiModelProperty(value = "三级渠道编码")
    private String channel3Code;

    @ApiModelProperty(value = "三级渠道名称", hidden = true)
    private String channel3Name;

    @ApiModelProperty(value = "货物唛头")
    private String description;

    @ApiModelProperty(value = "货物小类代码")
    private String cargoCode;

    @ApiModelProperty(value = "货物小类名称")
    private String cargoName;

    @ApiModelProperty(value = "包装或数量")
    private String packing;

    @ApiModelProperty(value = "货物名称")
    private String itemDetailName;
    /*******保险责任********/
    @ApiModelProperty(value = "保额/限额")
    private String sumInsured;

    @ApiModelProperty(value = "主险附加险标志")
    private String flag;

    @ApiModelProperty(value = "费率")
    private String rate;

    @ApiModelProperty(value = "责任代码")
    private String liabCode;

    @ApiModelProperty(value = "责任名称")
    private String liabName;

    /********标******/
    @ApiModelProperty(value = "起保日期")
    private String startDate;

    @ApiModelProperty("终保日期")
    private String endDate;

    @ApiModelProperty(value = "运输方式")
    private String conveyanceType;

    @ApiModelProperty(value = "船名")
    private String vesselCName;


    @ApiModelProperty(value = "启运地代码")
    private String startSiteCode;

    @ApiModelProperty("启运地名称")
    private String startSiteName;

    @ApiModelProperty(value = "目的地代码")
    private String targetSiteCode;

    @ApiModelProperty(value = "目的地名称")
    private String targetSiteName;

    @ApiModelProperty(value = "正本数量")
    private String originalQuantity;

    @ApiModelProperty(value = "赔案赔付地点")
    private String claimAt;

    @ApiModelProperty(value = "理赔代理人")
    private String claimAgentCode;

    @ApiModelProperty(value = "理赔代理人描述")
    private String claimAgentDesc;

    @ApiModelProperty(value = "币别")
    private String currency;



}
